package com.pagoda.nerp.trade.entity;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;

import java.util.Date;

@JsonSerialize(include= JsonSerialize.Inclusion.NON_NULL)
public class MdVendorGoods {

    private String vendorName; // 供应商名称
    private String vendorCode; // 供应商代码

    public String getVendorName() {
        return vendorName;
    }

    public void setVendorName(String vendorName) {
        this.vendorName = vendorName;
    }

    public String getVendorCode() {
        return vendorCode;
    }

    public void setVendorCode(String vendorCode) {
        this.vendorCode = vendorCode;
    }

    private String goodsName;   // 商品名称

    private String goodsCode;   // 商品编码

    private String qualityStatus;   // 质检状态

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    /*+++++++++++++++++++++++++++++++++++ 扩展字段 +++++++++++++++++++++++*/

    /**
     * 主键，非自增
     * 单据类型编码为：VENDOR_GOODS_ID
     *
     * @mbg.generated
     */
    private Integer vendorGoodsId;

    /**
     * 供应商ID
     *
     * @mbg.generated
     */
    private Integer vendorId;

    /**
     * 商品ID
     *
     * @mbg.generated
     */
    private Integer goodsId;

    /**
     * 基本价格：单位-万分之一元，相当于小数点后4位
     *
     * @mbg.generated
     */
    private Long price;

    /**
     * 采购单位,例如：kg、盒、箱、顿等
     *
     * @mbg.generated
     */
    private String purUnitName;

    /**
     * 采购/报价数量：是销售单位的n倍，比如顾客按顿报价，销售按公斤销售
     *
     * @mbg.generated
     */
    private Long purUnitQty;

    /**
     * 净含税价格：单位-百分之一分，即4位小数，=采购报价/报价单位数量
     *
     * @mbg.generated
     */
    private Long buyPrice;

    /**
     * 合同进价：单位-万分之一元，相当于小数点后4位
     *
     * @mbg.generated
     */
    private Long contractPrice;

    /**
     * 最小起订量：单位-百分之一
     *
     * @mbg.generated
     */
    private Long minOrderQty;

    /**
     * 状态：0000000000-bit1=1生效/无效；其余位待扩展
     *
     * @mbg.generated
     */
    private String status;

    /**
     * 供货周期：0-表示随时可供货
     *
     * @mbg.generated
     */
    private Integer purCycle;

    /**
     * 默认配送中心机构编号
     *
     * @mbg.generated
     */
    private Integer warehouseOrgId;

    /**
     * 进项税率：0-100
     *
     * @mbg.generated
     */
    private Integer taxRate;

    /**
     * 条码，卖方填写
     *
     * @mbg.generated
     */
    private String barcode;

    /**
     * 折扣：单位-万分之一，卖方填写
     *
     * @mbg.generated
     */
    private Integer discount;

    /**
     * 保质天数
     *
     * @mbg.generated
     */
    private Integer validDays;

    /**
     * 最近发布/匹配单号
     *
     * @mbg.generated
     */
    private String lastReferenceCode;

    /**
     * 商品图片URL
     *
     * @mbg.generated
     */
    private String goodsPictureUrl;

    /**
     * 商品规格
     *
     * @mbg.generated
     */
    private String spec;

    /**
     * 商品包装
     *
     * @mbg.generated
     */
    private String packing;

    /**
     * 商品描述
     *
     * @mbg.generated
     */
    private String remark;

    /**
     * 供货性质 A 有现货 B 即将上市
     *
     * @mbg.generated
     */
    private String supplyType;

    /**
     * 供应量：单位-百分之一.例如：0.01kg,则此处存1
     *
     * @mbg.generated
     */
    private Long supplyQty;

    /**
     * 供货时间
     *
     * @mbg.generated
     */
    private Date supplyTime;

    /**
     * 供货地区
     *
     * @mbg.generated
     */
    private String supplyArea;

    /**
     * 发货地址
     *
     * @mbg.generated
     */
    private String shipAddr;

    /**
     * 物流方式
     * A 包邮
     * B 到付
     *
     * @mbg.generated
     */
    private String expressType;

    /**
     * 质检编号
     *
     * add by louhong 2016/12/28
     * */
    private String qualityCode;

    /**
     * 创建人
     *
     * @mbg.generated
     */
    private String createUser;

    /**
     * 创建时间
     *
     * @mbg.generated
     */
    private Date createTime;

    /**
     * 修改人
     *
     * @mbg.generated
     */
    private String modifyUser;

    /**
     * 修改时间
     *
     * @mbg.generated
     */
    private Date modifyTime;

    /**
     * 每次更新自动+1
     *
     * @mbg.generated
     */
    private Long updateVersion;

    public Integer getVendorGoodsId() {
        return vendorGoodsId;
    }

    public void setVendorGoodsId(Integer vendorGoodsId) {
        this.vendorGoodsId = vendorGoodsId;
    }

    public Integer getVendorId() {
        return vendorId;
    }

    public void setVendorId(Integer vendorId) {
        this.vendorId = vendorId;
    }

    public Integer getGoodsId() {
        return goodsId;
    }

    public void setGoodsId(Integer goodsId) {
        this.goodsId = goodsId;
    }

    public Long getPrice() {
        return price;
    }

    public void setPrice(Long price) {
        this.price = price;
    }

    public String getPurUnitName() {
        return purUnitName;
    }

    public void setPurUnitName(String purUnitName) {
        this.purUnitName = purUnitName == null ? null : purUnitName.trim();
    }

    public Long getPurUnitQty() {
        return purUnitQty;
    }

    public void setPurUnitQty(Long purUnitQty) {
        this.purUnitQty = purUnitQty;
    }

    public Long getBuyPrice() {
        return buyPrice;
    }

    public void setBuyPrice(Long buyPrice) {
        this.buyPrice = buyPrice;
    }

    public Long getContractPrice() {
        return contractPrice;
    }

    public void setContractPrice(Long contractPrice) {
        this.contractPrice = contractPrice;
    }

    public Long getMinOrderQty() {
        return minOrderQty;
    }

    public void setMinOrderQty(Long minOrderQty) {
        this.minOrderQty = minOrderQty;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status == null ? null : status.trim();
    }

    public Integer getPurCycle() {
        return purCycle;
    }

    public void setPurCycle(Integer purCycle) {
        this.purCycle = purCycle;
    }

    public Integer getWarehouseOrgId() {
        return warehouseOrgId;
    }

    public void setWarehouseOrgId(Integer warehouseOrgId) {
        this.warehouseOrgId = warehouseOrgId;
    }

    public Integer getTaxRate() {
        return taxRate;
    }

    public void setTaxRate(Integer taxRate) {
        this.taxRate = taxRate;
    }

    public String getBarcode() {
        return barcode;
    }

    public void setBarcode(String barcode) {
        this.barcode = barcode == null ? null : barcode.trim();
    }

    public Integer getDiscount() {
        return discount;
    }

    public void setDiscount(Integer discount) {
        this.discount = discount;
    }

    public Integer getValidDays() {
        return validDays;
    }

    public void setValidDays(Integer validDays) {
        this.validDays = validDays;
    }

    public String getLastReferenceCode() {
        return lastReferenceCode;
    }

    public void setLastReferenceCode(String lastReferenceCode) {
        this.lastReferenceCode = lastReferenceCode == null ? null : lastReferenceCode.trim();
    }

    public String getGoodsPictureUrl() {
        return goodsPictureUrl;
    }

    public void setGoodsPictureUrl(String goodsPictureUrl) {
        this.goodsPictureUrl = goodsPictureUrl == null ? null : goodsPictureUrl.trim();
    }

    public String getSpec() {
        return spec;
    }

    public void setSpec(String spec) {
        this.spec = spec == null ? null : spec.trim();
    }

    public String getPacking() {
        return packing;
    }

    public void setPacking(String packing) {
        this.packing = packing == null ? null : packing.trim();
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    public String getSupplyType() {
        return supplyType;
    }

    public void setSupplyType(String supplyType) {
        this.supplyType = supplyType == null ? null : supplyType.trim();
    }

    public Long getSupplyQty() {
        return supplyQty;
    }

    public void setSupplyQty(Long supplyQty) {
        this.supplyQty = supplyQty;
    }

    public Date getSupplyTime() {
        return supplyTime;
    }

    public void setSupplyTime(Date supplyTime) {
        this.supplyTime = supplyTime;
    }

    public String getSupplyArea() {
        return supplyArea;
    }

    public void setSupplyArea(String supplyArea) {
        this.supplyArea = supplyArea == null ? null : supplyArea.trim();
    }

    public String getShipAddr() {
        return shipAddr;
    }

    public void setShipAddr(String shipAddr) {
        this.shipAddr = shipAddr == null ? null : shipAddr.trim();
    }

    public String getExpressType() {
        return expressType;
    }

    public void setExpressType(String expressType) {
        this.expressType = expressType == null ? null : expressType.trim();
    }

    public String getQualityCode() {
        return qualityCode;
    }

    public void setQualityCode(String qualityCode) {
        this.qualityCode = qualityCode;
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser == null ? null : createUser.trim();
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getModifyUser() {
        return modifyUser;
    }

    public void setModifyUser(String modifyUser) {
        this.modifyUser = modifyUser == null ? null : modifyUser.trim();
    }

    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    public Long getUpdateVersion() {
        return updateVersion;
    }

    public void setUpdateVersion(Long updateVersion) {
        this.updateVersion = updateVersion;
    }

    public String getGoodsCode() {
        return goodsCode;
    }

    public void setGoodsCode(String goodsCode) {
        this.goodsCode = goodsCode;
    }

    public String getQualityStatus() {
        return qualityStatus;
    }

    public void setQualityStatus(String qualityStatus) {
        this.qualityStatus = qualityStatus;
    }

    @Override
    public String toString() {
        return "MdVendorGoods{" +
                "goodsName='" + goodsName + '\'' +
                ", vendorGoodsId=" + vendorGoodsId +
                ", vendorId=" + vendorId +
                ", goodsId=" + goodsId +
                ", price=" + price +
                ", purUnitName='" + purUnitName + '\'' +
                ", purUnitQty=" + purUnitQty +
                ", buyPrice=" + buyPrice +
                ", contractPrice=" + contractPrice +
                ", minOrderQty=" + minOrderQty +
                ", status='" + status + '\'' +
                ", purCycle=" + purCycle +
                ", warehouseOrgId=" + warehouseOrgId +
                ", taxRate=" + taxRate +
                ", barcode='" + barcode + '\'' +
                ", discount=" + discount +
                ", validDays=" + validDays +
                ", lastReferenceCode='" + lastReferenceCode + '\'' +
                ", goodsPictureUrl='" + goodsPictureUrl + '\'' +
                ", spec='" + spec + '\'' +
                ", packing='" + packing + '\'' +
                ", remark='" + remark + '\'' +
                ", supplyType='" + supplyType + '\'' +
                ", supplyQty=" + supplyQty +
                ", supplyTime=" + supplyTime +
                ", supplyArea='" + supplyArea + '\'' +
                ", shipAddr='" + shipAddr + '\'' +
                ", expressType='" + expressType + '\'' +
                ", createUser='" + createUser + '\'' +
                ", createTime=" + createTime +
                ", modifyUser='" + modifyUser + '\'' +
                ", modifyTime=" + modifyTime +
                ", updateVersion=" + updateVersion +
                '}';
    }
}